package com.dr.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.dr.pojo.Dept;
import com.dr.pojo.User;
import com.dr.service.DeptService;
import com.dr.service.UserService;
//@RestController = @ResponseBody+@Controller
@Controller
@RequestMapping("/um_ajax")
public class UserController_ajax {
	@Autowired
	private UserService userService; //Spring注入ServiceImpl的实例
	
	@Autowired
	private DeptService deptService; 
	/*
	 * 显示用户列表页面，加载所有用户信息
	 */
	@ResponseBody
	@RequestMapping("/userList")
	public Map<String,Object> userList(User user) {
		Map<String,Object> map = new HashMap<>();
		List<User> userList = userService.findUserList();//取得用户列表数据
		//List<Dept> deptList = deptService.findDeptList();
		map.put("userList",userList);//加载到用户列表页面中，相当于执行request.setAttribute("userList",userList);
		//map.put("deptList",deptList);
		map.put("status","1");
		return map;
	}
	
	/*
	 * 根据页面输入的内容，查询指定用户
	 */
	@ResponseBody
	@RequestMapping("/userListByName")
	public Map<String,Object> userListByName(String txtQuery) {
		Map<String,Object> map = new HashMap<>();
		List<User> userList = userService.findUserByName(txtQuery);//取得用户列表数据
		
		map.put("userList",userList);
		map.put("status","1");
		return map;
	}
	/*
	 * 打开新增用户页面
	 */
	
	@RequestMapping("/toAdd")
	public ModelAndView toAdd() {
		List<Dept> deptList = deptService.findDeptList();
		
		ModelAndView mav = new ModelAndView();
		mav.setViewName("userManage/userAdd.jsp");
		mav.addObject("deptList",deptList);
		
		return mav;
	}
	
	/*
	 * 执行新增用户
	 */
	
//	@RequestMapping("/doAdd")
//	public ModelAndView doAdd(User user,HttpSession session) {
//		String account = user.getAccount();
//		User addUser = userService.findUserByAccount(account);
//		//判断待新增的账户名是否存在
//		if(addUser!=null) {
//				//如果存在，提示账户已经存在
//				//提示
//			//不执行insert，退回新增
//			ModelAndView mav = toAdd();
//			mav.addObject("attrInfoUserAdd", "账户已存在");
//			return mav;
//			}else {
//				//如果账户不存在，则执行insert，并返回到List页面
//				userService.insertUser(user);
//				return userList(user);	
//			}
//		
//	} 
//	
//	/*
//	 * 打开修改用户页面
//	 */
//	
//	@RequestMapping("/toUpdate")
//	public ModelAndView toUpdate(Integer id) {
//		List<Dept> deptList = deptService.findDeptList();
//		User user = userService.findUserById(id);
//		
//		ModelAndView mav = new ModelAndView();
//		mav.setViewName("userManage/userUpdate.jsp");
//		mav.addObject("deptList",deptList);
//		mav.addObject("user",user);
//		return mav;
//	}
//	/*
//	 * 执行修改用户
//	 */
//	
//	@RequestMapping("/doUpdate")
//	public ModelAndView doUpdate(User user,HttpSession session) {
//				userService.updateUser(user);
//				return userList(user);	
//	}
//	/*
//	 * 执行删除用户
//	 */
//	
//	@RequestMapping("/doDelete")
//	public ModelAndView doDelete(User user,HttpSession session) {
//				userService.deleteUser(user);
//				return userList(user);	
//
//		
//	} 
}

